package demo2;
/**
 * Spring容器要求被管理的类需要使用注解进行标注
 * 最基础的注解：@Component
 * 被下属注解标注的类同样收到Spring容器管理，它们都在Spring框架中赋予一些其他功能
 *
 * @Service
 * @Repository
 * @Controller
 *
 * @Value
 * 用于为对象中的属性进行初始化
 */

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
//@Service
//@Repository
//@Controller
/**
 * @PropertySource注解用于告知Spring容器这个类需要使用一个properties配置文件
 * 注解中的参数用于指定该配置文件的位置
 */
@PropertySource("classpath:config.properties")
public class User {
    // @Value("MakiseKurisu")
    @Value("${demo.user.name}")
    private String name;
    // @Value("25")
    @Value("${demo.user.age}")
    private int age;

    public String getName() {
        return name;
    }

    //@Value("薇薇安")
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    //@Value("25")
    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';

    }
}
